MacBook Airの動作が重くなったのでメンテナンスしたら軽くなった件
MacBook Airが重い
クラスメソッドでは、AWSチーム発足時から、JOINしたメンバーにMacBook Airを標準機として配っていました。最近、動作が遅くて困っているという声を聞くようになりました。全員がVMWare FusionにWindowsを入れていたり、Docker使ったりと、開発環境を整えているので、確かにメモリ8GBでも足りないかもしれません。私のマシンも文字入力で表示がワンテンポ遅れるほどの重さで困った状態でした。
今回試したマシンは、MacBook Air(13-inch, Mid 2013), 1.7GHz Core i7, メモリ8GB、OS X Yosemite(10.10.3)です。
UPDATE : 貴重なご意見頂いていますので追加しています。
解決策
最新マシンに乗り換える
エンジニアはマシンが遅いと仕事になりません。そこで、現時点で最新で全部盛りのMacBook Proに乗り換えてもらいました。クラスメソッドでは、ディスプレイサイズやマシンスペックを上げると2乗の仕事量が振ってくるという言い伝えがあります。これは、常に全エンジニアに最高の環境を均一的に与えることができないため、ご褒美ではなく、戦闘力UPと思ってもらうためです。バリバリ働きたいエンジニアは、「最新マシンが必要ですっ!」といいますし、控えめでエコなエンジニアは、「今のマシンで十分ですっ」と言ってくれます。
既存マシンをメンテナンスする
私は、昔から新品PCを使うことがなく、MS-DOSの頃から中古マシンばかり使っていましたので、チューニングやメンテナンスが好きです。UMBとかHIMEM.SYSとか聞いてワクワクするオジサン周りにいますよね。ATOKを入れて500KBのメモリ領域を確保するのが高校時代の流行りでした。もちろん、最新マシンはもっと好きですw。
ということで、今回は、MacBook Airの環境を快適にするために基本的なメンテンナスを行なってみたいと思います。内容については、ググったら出てくる基本的なものばかりですのでご了承ください。
パフォーマンスに影響あるものって何?
コンピュータの良好な動作に影響を与える可能性あるコンポーネントは何でしょうか。CPU、メモリ、GPU,VRAM、ブートドライブ、ストレージ、I/Oインタフェース、OS、ファームウェア、ドライバ、プログラム、ファイルあたりでしょうか。また、インターネットを利用する際に影響が出るのは、通信速度、プロトコル、DNS、リクエスト数、ルーティング、キャッシュあたりでしょうか。
これらのコンポーネントが用途に合わせて正しく設定されているか確認し、遅い動作の原因となっていそうであれば、設定リセットや調整することで、快適な動作に繋がる可能性がありますので試してみましょう。
メンテナンス
ディスクのアクセス権を修復
アプリケーション > ユーティリティ > ディスクユーティリティを選択します。検証の後に修復をします。
セーフモードで再起動
レジュームで使い続けていると動作がおかしくなることありませんでしょうか。1週間に1回は明示的に再起動します。また、SHIFTずっとを押しながら再起動することで、セーフモードの起動となります。起動時に所定のチェックを行なってくれるので、何かしら気がついてないトラブルなどの解消に役立つかもしれません。セーフモードで起動したら、改めて再起動しましょう。
NVRAMのリセット
NVRAMは、スピーカーや画面解像度などの環境情報を管理している部分です。「command + option + P + R」キーを押してマシンを起動します。
SMC(システム管理コントローラ)のリセット
何やっても直らない場合には、SMCのリセットをしてみましょう。SMCは、電源やバッテリーなどの環境情報を管理している部分です。ずっとファンが回りっぱなしなどが症状として考えられます。
電源をOFFにしてから、「(左の) shift + control + option」キーを押してマシンを起動します。
Intel ベースの Mac:SMC (システム管理コントローラ) のリセット
ハードウェアテストする
何やっても動作がおかしいときには、Appleが提供しているハードウェアテストをやってみてはいかがでしょうか。
ワイヤレス診断
インターネットに接続するアプリがほとんどだと思いますので、無線の状況が悪いと全体的にもっさりした動作になるかもしれません。そこで、ワイヤレス診断をしてみたいと思います。「Optionキーを押しながら無線マーク」を選択してください
設定を変更
再起動時のアプリを制限
システム環境設定 > ユーザとグループ > ログイン項目を選択します。あまり使わないアプリをOFFにしてリストから消します。
機能拡張
システム環境設定 > 機能拡張を選択します。Macって色々カスタマイズされていたんですね(汗。どうしても必要なもの以外は全部OFFにします。
ごみ箱
空にします。
デスクトップをキレイに
デスクトップに何も置かないと爽やかな気持ちになりますね。スクリーンショットの保存場所がデスクトップになっている方も多いと思います。これは変更できますのでやってみましょう。
$ defaults write com.apple.screencapture location ~/Desktop/Screenshots $ killall SystemUIServer $ defaults read com.apple.screencapture location /Users/myname/Desktop/Screenshots
これでデスクトップがスクリーンショットだらけになることを防げますね。
コントラストを上げる
透明な表示を消してみます。グラフィックボードが付いているので効果のほどは定かではありませんが、見た目をシンプルにすることでサクサク動くケースもあるかと思います。
アクセシビリティ
VoiceOverなどのアクセシビリティ系のツールをOFFにします。
Safariを使う
Apple公式ページによると、Safariを使うだけでバッテリーが2時間長持ちするらしいです。使用するCPUやメモリが少なく、反応速度も良好なようですね。
ここでひとつ気になるのがタブにfaviconが表示されないことです。YosemiteだとGlimsが動かないと報告があるので他のを試してみます。今回は、SafariStandというのを使ってみます。EasySIMBLを入れてプラグインという形で利用します。最後に注意としては、プラグインを入れるので多少遅くなるかもしれません...。
Flashを最新版に上げる
常に最新版に上げることで、セキュリティ向上やパフォーマンス向上が見込めると思います。PPAPIがインストールされていなかったので入れてみました。
Javaを最新版に上げる
常に最新版に上げることで、セキュリティ向上やパフォーマンス向上が見込めると思います。
ネットワーク周り
ネットワークユーティリティ
ネットワークの調子がおかしいとか繋がっているか確認するために、「ネットワークユーティリティ」を用います。Spotlightで「ネットワークユーティリティ」と入力すると出てきます。
お馴染みのコマンドを画面から実行できます。
IPv6をOFFにする
IPv6を使う機会がない場合、TCP/IPの設定を「自動」ではなく「切」にしても問題ないと思います。ネットワークの設定を開いて、TCP/IPタブからIPv6の設定で「切」に設定できない場合、コマンドラインから設定してみてください。
$ networksetup -listnetworkserviceorder $ sudo networksetup -setv6off [上記リスト内のWiFi名]
この結果、画面上で「切」を選択できるようになります。
Wi-FiのPHY Modeを確認
Wi-Fi接続をする際に、「802.11nプロトコル」を使っているか確認をしてください。これは、効率よく高速に通信できるプロトコルです(2009年最速)。ネットワークが遅い場合には確認してみましょう。「Optionキーを押しながら無線マーク」を選択してください。PHY Modeが802.11nになっていればOKです。
今一番速い規格は、802.11ad(2013年最速)で、6.9Gbpsのスループットが出るようです...
DNSサーバを指定
高速なDNSを指定することで全体を高速化する方法もあります。namebenchを使って計測してみると分かりますが、8.8.8.8を指定すると早くなります。
計測結果によってやはり早いことが分かりました。
namebench - Open-source DNS Benchmark Utility
MTUを設定する
伝送単位を調整したいと思います。現在のネットワークに最適な伝送単位を計測するサイトがありますのでアクセスしてみます。
私の自宅はJCOMなのですが、イーサネットのためか1500が最適と表示されました。Bフレッツの場合はL2TPのため1454とかでしょうか。現在の値をコマンドで確認することもできます。
$ networksetup -getMTU en0 Active MTU: 1500 (Current Setting: 1500)
画面で設定する場合は、ネットワークの設定から行いましょう
discoveryd serviceのリフレッシュ
Yosemiteにアップグレードしたらネットワーク接続の調子が悪くなった方がいましたら以下のようなコマンドはいかがでしょうか。discoveryd serviceをリフレッシュすることができます。
$ sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.discoveryd.plist $ sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.discoveryd.plist
スピードテストする
色々メンテンナンスした結果、ネットワーク速度がどの程度になったか試してみます。たとえばUSENのページです。
まとめ
ググればいくらでも見つかるMacBookのメンテナンス方法でしたが、実際にやっていない人も多いのではと思います。今回は、実際にやってみてサクサク動くようになったので共有とさせて頂きました。主に社内向けですw。